#include <stdio.h>
#include "b.h"

void show(int* arr, int len){
	int i;
	for( i = 0 ; i < len ; i++){
		printf("%d ",arr[i]);
	}
	puts("");
}

// 冒泡排序
void maopao(int* arr, int len){
	puts("冒泡排序中...");
	int i,j;
	for(i = 0; i < len-1; i++){
		for(j = 0; j < len-1-i;j++){
			// j 与 j+1 下标元素进行比较
			if(arr[j]>arr[j+1]){
				int temp = arr[j];
				arr[j] = arr[j+1];
				arr[j+1] = temp;
			}
		}
	}
}

// 选择排序
void xuanze(int* arr, int len){
	puts("选择排序中...");
	int i,j,index;
	for(i = 0; i < len-1; i++){
		index = i;
		for(j = i+1; j < len;j++){
			if(arr[index] > arr[j]){
				index = j;
			}
		}
		if(index != i){
			int temp = arr[i];
			arr[i] = arr[index];
			arr[index] = temp;
		}
	}
}

// 插入排序(交换版)
void charu(int* arr, int len){
	puts("插入排序中...");
	int i,j;
	for(i=1; i < len ; i++){
		for(j=i;j > 0; j--){
			if(arr[j]<arr[j-1]){
				int temp = arr[j];
				arr[j] = arr[j-1];
				arr[j-1] = temp;
			}
		}
	}
	
}
// 插入排序2(后移版)
void charu2(int* arr, int len){
	puts("2插入排序中...");
	int i,j,x;
	for(i=1; i < len ; i++){
		j=i;
		x = arr[j];
		for(;j > 0; j--){ // 从当前位 往前 遍历
			if(x<arr[j-1]){ // 当前x 小于 前一位
				arr[j] = arr[j-1];// 后移一位
				if(j==1){ // 前面没有元素可比了
					arr[0] = x; // 就把首位赋值为当前x
				}
			}else{
				arr[j] = x; // 如果x不小于前一位，就赋值给当前遍历到的j位
				break; // 并结束从当前 往前 遍历 的操作
			}	
		}
		
	}
	
}



/*===========================================================*/
static void bbb(){
	puts("static这个就是个BBB。。。");
}

void app(){
	puts("hello win11..");
	puts("你好，小朋友！");
	
	long long t = time(NULL);
	printf("时间戳：%lld\n");
	srand(time(NULL));
	
	int ran ;
	int i ;
	for( i = 1; i <= 10 ; i++){
		ran = rand() % 5;
		printf("%d --> ran = %d\n",i,ran);
	}
	int num;
	puts("请输入一个整数：");
	int res = scanf("%d",&num);
	printf("res结果：%d\t",res);
	printf("你输入的整数是：%d\n",num);
}



